#ifndef TYPES_H
#define TYPES_H

typedef enum {
    Empty, Mix, Primary, Pure
} ContributionType;

typedef enum {
    // Functions that all bytes are from known authors
    PureAuthorSignal, 	
    // Functions that some bytes are from unknown source
    PartialAuthorSignal,
    // Functions that all bytes cannot be mapped to source lines
    MappingFail,       
    // Functions that all bytes are mapped to unfound files.
    // This cound be caused by incomplete weighted authorship in source lines info
    // or this function is from external static linked library like libc++ 
    UnfoundFile,
    // Functions that all bytes are mapped to known files, but are mapped
    // to lines that exceed the maximum line number. This may be caused by wrong 
    // weighted authorship for this file or this function is purely generated by compiler
    UnfoundLine,
    // Functions that have no author signal and are mixed for different failure reasons
    MixedFail
} FunctionType;

#endif
